1. Field of the Invention
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to determining an underlying cause for errors that are detected in a data processing system.
2. Background of the Invention
During an initial program load or a runtime of a data processing system, the data processing system may encounter an error which is analyzed by diagnostic firmware and results in a procedure to follow in order to rectify that problem or a recommendation for hardware replacement. One problem with providing the analysis is that the encountered error may be a side-effect of other problems not yet detected or may be related to errors detected earlier which the diagnostic firmware failed to keep a history of. For example, a defective memory buffer can lead to corrupted memory in dynamic random access memories (DRAMs) to which it is attached. However, depending on the order in which the diagnostic firmware checks for errors, the diagnostic firmware may be fooled into thinking that the DRAMs are the original source of errors, leading to more hardware replaced than was necessary, or missing the root cause altogether.
One known solution is diagnostic firmware that considers each error as an isolated independent event, provides an analysis for each error as if it was an isolated event, and creates an error log history. Then, in order to make a more precise analysis for the events that are related, an administrator or data processing system expert manually parses through the error log history and decides which error events point to the root cause and which may only be side-effects. This approach is not ideal, since manually parsing through an error log history depends on the expertise of the person performing the analysis, may be time consuming and tedious, and a complete error log history may not be always be available.